#ifndef ACTOR_H
#define ACTOR_H
#include "world.h"
class stats;
class affiliate_bar;
class actor :public world
{
protected:
    stats* stats_ = nullptr;
    glm::vec2 speed_ = glm::vec2(0.0f,0.0f);
    float max_speed_ = 100.0f;
    affiliate_bar* hpBar = nullptr;
public:
    virtual void update(float dt) override;

    glm::vec2 getSpeed(){return speed_;}
    void setSpeed(const glm::vec2& speed){speed_ = speed;}
    float getMaxSpeed(){return max_speed_;}
    void setMaxSpeed(float max_speed){max_speed_ = max_speed;}
    void move(float dt);
    stats* getStats(){return stats_;}
    void setStats(stats* stats){stats_ = stats;}
    virtual void takeDamage(float damage);
    void updateHpBar();
};

#endif // ACTOR_H